package com.cn.springcloudwechat.service.order;

import com.cn.springcloudwechat.common.mybatis.Page;
import com.cn.springcloudwechat.model.order.YmOrder;
import com.cn.springcloudwechat.model.order.YmOrderGoods;

import java.util.List;

/**
 * @author: Administrator
 * @create: 2018/7/31 18:59
 */
public interface YmOrderService {

    /**
     *  批量获取数据
     * @param record
     * @return
     */
    Page<Object> getAllYmOrder(YmOrder record,Page<Object> page);

    /**
     *  批量获取商品数据
     * @param record
     * @return
     */
    Page<Object> getAllYmOrderGoods(YmOrderGoods record, Page<Object> page);

    /**
     * 添加订单及商品详情数据
     * @param ymOrder
     * @param ymOrderGoods
     */
    Long insertYmOrderGoodsAndYmOrder(YmOrder ymOrder,YmOrderGoods ymOrderGoods);

    /**
     *  更新商品数据
     * @param ymOrderGoods
     */
    void updateYmOrderGoods(YmOrderGoods ymOrderGoods);

    /**
     * 更新订单数据
     * @param ymOrder
     */
    void updateYmOrder(YmOrder ymOrder);

    /**
     *  根据订单id查询单个订单数据
     * @param orderId
     * @return
     */
    YmOrder getYmOrder(long orderId);

    /**
     *  根据商品详情id查询单个商品详情数据
     * @param goodsIdDesc
     * @return
     */
    YmOrderGoods getYmOrderGoods(long goodsIdDesc);

    /**
     *  根据订单id 查询所有商品详情
     * @param orderId
     * @return
     */
    List<YmOrderGoods> getOrderGoodsByOrderId(long orderId);
    /**
     * 根据商户订单号获取订单数据
     * @param outTradeNo
     * @return
     */
    YmOrder getOrderPayStateByOutTradeNo(String outTradeNo);


}
